package com.guonl.open.api.request.waybill;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.Valid;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

@Data
public class ApiCreateTransportNoteRequest {

    @ApiModelProperty(value = "外部运单号-唯一标识")
    @NotBlank(message = "外部运单号不能为空")
    private String outSideWaybillNO;

    @Valid
    @NotNull(message = "运单信息信息不能为空")
    @ApiModelProperty(value = "运单信息")
    private ApiWaybillInfoRequest waybillInfo;

    @Valid
    @NotNull(message = "司机车辆信息不能为空")
    @ApiModelProperty(value = "司机车辆信息")
    private ApiDriverInfoRequest driverInfo;

    @Valid
    @NotNull(message = "协议信息不能为空")
    @ApiModelProperty(value = "协议信息")
    private ApiAgreementInfoRequest agreementInfo;

    @Valid
    @NotNull(message = "装货信息不能为空")
    @ApiModelProperty(value = "装货信息")
    private ApiLoadingInfoRequest loadingInfo;

    @Valid
    @NotNull(message = "卸货信息不能为空")
    @ApiModelProperty(value = "卸货信息")
    private ApiUnloadingInfoRequest unloadingInfo;

    @Valid
    @NotNull(message = "电子回单信息不能为空")
    @ApiModelProperty(value = "电子回单信息")
    private ApiUploadReceiptInfoRequest receiptInfo;

    @ApiModelProperty(value = "扩展字段 项目id")
    private String extendId;

    @ApiModelProperty(value = "计费时间")
    private String billTime;

    @ApiModelProperty(value = "渠道 转运 城配 重货")
    private String channel;

}
